var speed = 0;
/**	
 * 动画函数
 * @param {Object} obj 当前的对象
 * @param {Object} attr	当前元素对象的属性
 * @param {Object} end	结束值
 */
function trans(obj,attr,end,fn){
	//对于多物体的运动，要格外注意定时器返回值要绑定在当前对象上。
	clearInterval(obj.timer)
	obj.timer = setInterval(function(){
		var cur = 0;
		//透明度变化处理
		if(attr === 'opacity'){
			cur = Math.round(parseFloat(getStyle(obj,attr)) * 100);
		}else{
			cur = parseInt(getStyle(obj,attr))
		}	
		//求速度  20为速度参数。
		speed = (end - cur) / 20
		speed = end > cur ? Math.ceil(speed) : Math.floor(speed) 
		//临界值
		if(cur === end){
			clearInterval(obj.timer);
			if(fn){
				fn();
			}
			return;
		}
		if(attr === 'opacity'){
			obj.style[attr] = `alpha(opacity: ${cur + speed})`;
			obj.style[attr] = (cur + speed) / 100;
		}else{
			obj.style[attr] = cur + speed + 'px'
		}
		
	},30)
}
function getStyle(obj,attr){
	if(obj.currentStyle){
		//IE
		return obj.currentStyle[attr];
	}else{
		return getComputedStyle (obj,null)[attr]
		} 
}